As the World Wide Web (WWW) is moving in the direction of becoming the ultimate platform for application development, new features are constantly being developed, which enable Web Applications to appear and act more similar to their corresponding Desktop counterparts. One such feature is typically referred to as a Web Worker, which may be seen as the Browser JavaScript equivalent to threads. Web Workers allow an application to defer tasks for background execution in a separate JavaScript scope, where a message-passing API enables a Web Worker to communicate with the main application thread. Other types of Web Workers, typically referred to as shared Web Workers, can be shared between different windows in an application, and a Web Worker will typically not terminate until the last open window that is connected to a shared Web Worker is closed.
Persistent Web Workers refers to Web Workers which outlive their parent application and continue their execution process in the background, and potentially even after the Web Browser itself has been closed. Although persistent Web Workers must run in a separate process to be able to outlive the Web Browser, they are tightly coupled to their Web Browser.
Although Persistent Web Workers may enable Web Applications to continue to run in the background, many battery powered devices, such as e.g. laptops, net books and cellular telephones, would not be able to keep the CPU powered up during extended periods of time, which is a main requirement to keep a persistent Web Worker running.